<?php


namespace app\api\services;


use app\admin\model\HtnsActivityProduct;
use app\admin\model\HtnsBasestationStore;
use app\admin\model\HtnsProduct;

class ActivityProductService
{
    use ApiTrait;

    /**
     * @desc 检测秒杀-首页短标题不得超于12个字
     * @param $shortProductName 短标题名称
     */
    public function checkShortProductName($shortProductName)
    {
        $ret = 1;
        $len = mb_strlen($shortProductName);
        if ($len > 12) {
            $ret = 0;
        }
        return $ret;
    }

    /**
     * @desc 检测商品实际库存
     * @param $productId 商品id
     * @param $activityStock 活动库存
     */
    public function checkProductStock($productId, $activityStock)
    {
        $ret        = $this->returnArr(1, '库存充足');
        $hnsProduct = HtnsProduct::find($productId);
        if ($hnsProduct['stock'] < $activityStock) {
            $ret['code'] = 0;
            $ret['msg']  = '活动库存:' . $activityStock . '不得大于商品实际库存:' . $hnsProduct['stock'];
        }
        return $ret;
    }

    /**
     * @desc 检测商品是否已参与活动
     * @param $productId 商品id
     * @param $id 活动商品id
     */
    public function checkProductIsActivity($productId , $id = 0)
    {
        $ret         = $this->returnArr(1, '可以参与');
        $where[]     = ['product_id', '=', $productId];
        if($id){
            $where[]     = ['id', '<>', $id];
        }
        $htnsProduct = HtnsActivityProduct::where($where)->find();
        if ($htnsProduct) {
            $ret['code'] = 0;
            $ret['msg']  = '商品:' . $htnsProduct['product_name'] . '已在参与活动,不得重复参与!';
        }
        return $ret;
    }
}